//Alumno.cpp

//...

void Alumno::serializar(stringstream& stream) const
{
    stream.write(nombre.c_str(), nombre.size());
    agregarTamanoASerializacionComp(stream, Toolkit::TEXTO);
    serializacionDigito(stream, Toolkit::TEXTO, padron);
    serializacionDigito(stream, Toolkit::TEXTO, DNI);
}

void Alumno::hidratar(stringstream& stream)
{
    int tamanoNombre;
    hidratacionDigito(stream, tSerializacion, tamanoNombre);

    char* buffer = new char[tamanoNombre];
    stream.read(buffer, tamanoNombre);
    nombre = string("").append(buffer, tamanoNombre);
    delete []buffer;

    hidratacionDigito(stream, Toolkit::TEXTO, padron);
    hidratacionDigito(stream, Toolkit::TEXTO, DNI);
}

Dato* Alumno::clonar() const
{
    return new Alumno(padron, nombre, tSerializacion);
}

